// Mateusz Sołtysik, Zima 2013
// Technologia Programowania
import static org.junit.Assert.*;
import org.junit.*;

public class LiczbaTest {
    Liczba l;
    
    @Before
    public void setUp() {
         l = new Liczba(); 
    }
    
    
   @Test(timeout = 10)
   public void testLiczba() {
        assertNotNull(l);
        assertTrue(l.returnLiczba() == 0);
    }
    

   @Test(expected = IllegalArgumentException.class)
    public void testSetLiczbaException() throws Exception {
        l.setLiczba(-1);
    }

   
    @Test(expected=IllegalArgumentException.class)
    public void testSetLiczba() {
        l.setLiczba(-1);
    }

    
    @Test(timeout = 10)
    public void testReturnLiczba() throws Exception {
        l.setLiczba(12);
        assertTrue(l.returnLiczba() == 12);
    }

    
    @Test
    public void testLiczbaAtBase1() throws Exception {
        l.setLiczba(7);
        assertEquals("111", l.LiczbaAtBase(2));
        assertEquals("7", l.LiczbaAtBase(8));
    }

    
    @Test
    public void testLiczbaAtBase2() throws Exception {
        // test
        l.setLiczba(15);
        assertEquals("13", l.LiczbaAtBase(12));
        assertEquals("F", l.LiczbaAtBase(16));
    }
    
    
    @After
    public void tearDown() {
        l = null;
    }
    
}
